There are currently a variety of technologies for the point to point transmission of information, but only relatively few of these are commonly used by consumers to send and receive information. The most common methods in use include voice processing systems, online computer services, screen telephones, and facsimile machines. Voice processing systems, conventionally known as "stored program control systems" or "SPCS's", are telecommunication systems designed to provide information to callers accessing the system over telephone lines. Typically, a voice processing system will automatically answer a telephone call, play a series of recorded "voice prompts" and provide information to the caller as directed by a stored computer program in response to the caller inputs, using either touch-tones, dial pulses or voice recognition. Such voice processing systems are used by an increasing variety and number of information service providers to replace human operators in supplying information to callers. Typical voice processing applications include home banking, customer support, voice mail, or product ordering.
One substantial limitation of most conventional voice processing systems is that they are limited to the delivery of "voice" data to the caller's telephone. That is, such systems can only respond to the caller's inputs with various manipulations of recorded sound files to present the requested data, or provide instructions to the caller. For example, a home banking application will have a "menu" of fixed options, such as current balance, or cleared checks, that are available to a caller. This menu will be created by pre-recording a human speaker stating each of the available options. That recorded sound file is then retrieved by a voice processing application each time the "menu" part of the application is accessed by the caller. Similarly, the system will be able to provide unique combinations of recorded sound files to provide caller specific information.
Thus, a voice processing system for home banking, for example, will typically have prerecorded sound files for each of the digits 0 to 9, and can then aurally provide a caller's bank balance of $1,234.56, for example, by accessing a sound file for each of the following: "one," "thousand," "two," "hundred," "thirty," "four," "dollars," "and," "fifty," "six," "cents." Even though the underlying data in the bank's computer is system is numerical, and would be more easily understood by the caller if visually presented or printed, it can only be provided to the caller by the voice processing system by converting it to voice data.
While some voice processing systems are capable of sending other types of data, such as faxes to the caller's telephone or to a remote telephone, the data thus sent is not compatible with the caller's telephone itself. That is, "sending" a fax to a caller's direct telephone to which no facsimile machine is connected results in the caller hearing an 2! unintelligible series of computer generated tones. Typical voice processing systems are unable to simultaneously send voice data and other types of data, such as computer instructions, over a single telephone line to the caller's telephone or a computing device for decoding of the voice data in connection with the other data, providing the voice data to the telephone and the other data to an appropriate device.
Computer systems are also capable of delivering information to consumers with the use of a modem attached between the computer and a telephone line. With such a system at both the caller's and information provider's locations, a consumer can dial up the information provider, such as an online service, or a bulletin board, and be presented with a textual or graphical menu of choices, rather than hearing the choices played from a recorded sound file. Information supplied by these services can be very rich since it can take full advantage of the display capabilities of the caller's computer. However, information services of this type are limited to the delivery of data to computers, the data being particularly adapted to instructing the caller's computer to receive and display information. These systems cannot easily receive voice or sound data from the caller, nor deliver such data, due to bandwidth limitations. Where conventional voice processing systems handle only sound data, and cannot provide computer-adapted data to the caller, computer systems have the opposite limitation.
One alternative device for providing both voice data and computer-adapted data to consumers are telephones connected to a screen display device, commonly known as screen telephones. Numerous implementations of such devices have been proposed in order to provide the benefits of both voice and visual output. Screen telephones have failed to substantially penetrate the consumer market for a number of reasons. First, such systems typically require expensive telephone devices, the cost of which is well above average cost of a telephone, because of the additional hardware necessary to support the screen display functions. In particular, these devices typically require a number of proprietary integrated circuits, including a separate microprocessor, a modem circuit and other supporting circuitry. These various circuits are needed in order to accommodate the typically complex and computationally intensive operations needed to receive and decode the voice and screen display data.
Second, there is no definitive standard for the operation of screen telephony, and thus each vendor's screen telephone uses a proprietary protocol that limits the screen telephone's use by other vendors or information service providers. While Bell Communications Research has proposed the ADSI (Analog Display Services Interface) protocol, this protocol has yet to be widely used, and was designed primarily to support caller identification, and related functions. Typically then, each brand of screen telephone has proprietary software or hardware specifically designed to receive data from a given service provider, or from the same brand of screen telephone. That is, a given screen telephone is designed for use with a specific information provider's system, and is often incapable of communicating with, and receiving data from, other information service providers. Thus, the screen telephone becomes a special purpose device, losing its value as a general communications device such as a telephone, or general purpose computer, or facsimile machine. Prospective purchasers then are less likely to buy such a screen telephone, since it has a very limited set of uses.
Facsimile machines offer another means of point to point data transmission, but they are more limited than any of the foregoing devices. With a facsimile machine, a user is only able to send and receive printed information, such as text, graphics, photographs, or the like, but typically cannot send or receive any voice data, or other data with the transmission. This limitation makes the facsimile ill-suited for a complete information service that can both receive and output voice and other types of data at the same time.
One of the limitations that all of the foregoing device share is the requirement that they convert, or modulate, the data to be transmitted in real time during actual transmission. Real time modulation requires significant hardware resources, and thereby increases the costs of the transmitting devices. The communications protocols used in real time modulation systems further requires the receiving devices to have a complex chipset in order to demodulate the data. In order to reduce the cost of the transmitting and receiving devices, modulation should be done in software.
Since software based systems do not operate at sufficient speed for real time modulation, it is desirable to provide a system that modulates the data prior to actual transmission and stores it, such that the modulated data can then be retrieved and transmitted. To maintain a low cost receiving device, the communication protocol used in the modulation scheme should not require extensive hardware for implementation, but allow the use of as few integrated circuits as possible.
Accordingly, it is desirable to provide a system, adaptable for use in voice processing systems and the like, that can modulate the data to be transmitted and store that data for later retrieval and transmission. Such a system should preferably transmit both voice and other data types, such as computer instructions and data, to a receiver that is capable of decoding both the sound and data, providing the sound data to an appropriate output device, such as a telephone, and the remaining data, such as computer instructions, graphics, or the like, to an appropriate processor and display or printer. Such a system should preferably be compatible with existing voice processing systems that are limited to transmitting sound files, and accordingly, the system should use only the analog transmitting capabilities of any attached voice or sound processing system to transmit the data. In addition, such a system is preferably adaptable to any device capable of storing and transmitting sound files to a receiving and decoding apparatus, thus providing a generalized architecture for the use of sound and other data types in a variety of existing and future devices.
In addition it is desirable to provide a system, adaptable for use in screen telephony, that allows the design of low-cost screen telephones, particularly through the use of an architecture the requires a minimal number of proprietary circuits for decoding received data. Preferably, a screen telephone, or other device capable of decoding the data, can be implemented using a single digital signal processor executing software for decoding the data. Such a screen telephone should be able to operate with any voice processing system, particularly, any such system that has been adapted to provide both voice and computer-adapted data.
Finally, it is desirable to provide a method of telecommunication that provides for modulation and storage of the data to be transmitted prior to actual transmission, thereby facilitating the transmission of existing data without the need to modulate during the transmission process. Such a method allows for modulation in a software based modulation scheme, reducing the hardware requirements for implementing the method.